<?php 

header('content-type: text/html;charset=utf-8');

// .......传址
	// $a = 'abc';
	// $b = &$a;
	// $b = 'efg';
	// echo "$a";

// 可变变量
	// $a = 'hello';
	// $$a = 'world';
	// echo "$a ${$a}",'!!!!!';
	// $a = 12;
	// $b = 213;
	// $c  = $b*$a;
	// echo ++$a;

// 局部和外部变量
	// $x = 'img';
	// function mytest(){
	// 	$y = 'text';
	// 	$b = 12;
	// 	echo $y.'<br>'.$b.'<br>';
	// }
	// 	mytest();
		
	// 	echo $x;

//关键词global 

	// $x=5;
	// $y=10;

	// function myTest() {
	//   global $x,$y;
	//   $y=$x+$y;
	// }
	// myTest();
	// echo $y;
	// myTest();
	// echo $y; // 输出 15


// 关键词static 
	// function myTest() {
	//   static $y=10;
	//     $y++;
	//   echo $y;
	// }
	// myTest();
	// echo "<br>";
	// myTest();
	// echo "<br>";
	// myTest();
	// echo "<br>";
	// myTest();
	// echo "<br>";


	// $txt1 = 'learn php';
	// $txt2 = 'W3School.com.cn';
	// $cars =array("Volvo","BMW","SAAB");
	// echo $txt1;
	// echo '<br>';
	// echo "study php at $txt2";
	// echo '<br>';
	// echo "my car is a {$cars[1]}";

// 打印数组
	// $cars =array("Volvo","BMW","SAAB");
	// var_dump($cars);

// ........................串接
	// $a = "hello";
	// $b = $a."world";
	// echo $b;
	// echo '<br>';
	// $x ="hello";
	// $x .="world";
	// echo $x;


	// $y =10;
	// echo $y++;
	// echo $y++;


	// $favcolor="red";
	// switch ($favcolor) {
	// 	case "red":
	// 		echo "Your favorite color is red!";
	// 		break;
	// 	case "green":
	// 		echo "Your favorite color is green!";
	// 		break;
	// 	case "yellow":
	// 		echo "Your favorite color is yellow!";
	// 		break;
	// 	default:
	// 		echo "Your favorite color is  neither red, green, or yellow!";
	// 		break;
	// }


// ............do while循环
	// $x = 1;
	// do{
	// 	echo "数字是：$x <br>";
	// 	$x++;
	// } while ($x<=5);

// ............foreach 循环
	// $num =array(1,34234,341,11,199);
	// foreach ($num as $key => $value) {
	// 	echo "$value<br>";
	// }


	// echo strpos("hello world", "world");
	// echo "<br>";
	// echo strlen("hello world");

// 输出常量不用“”号 一般用大写区分变量 (给常量定义true 可对大小写不敏感)
	// define("NAME", "zengjianping");
	// echo NAME;
	// echo "<br>";
	// define("NAME", "ZengJianPing",true);
	// echo name;

// ...................返回值(函数需要返回值)
	// function sum($x,$y){
	// 	$z=$x+$y;
	// 	$b=$x*$y;
	// 	return $z;
	// 	return $b;
	// }
	// echo "5+10=".sum(5,10)."<br>";
	// echo "99*97=".sum(99,97)."<br>";


// 乘法表9*9
// 	echo "<table cellspacing='0';>";
// 	for($x =1;$x<10;$x++){
// 		echo "<tr style='background-color:yellow'>";
// 		for ($i=1; $i<=$x; $i++) {
// 			echo "<td style='border: 1px solid #000'>";
// 			echo ($x."*".$i."=");
// 			echo ($x*$i);
// 			echo "<br>";			
// 		}
			
// 	}
// 	echo "</table>";

//........... 时间和日期
	// echo date("Y/m/d");
	// $d =mktime(7,36,27,4,6,2016);
	// echo date("Y/m/d h/i/sa",$d);
// ......定界符(开始标记和结束标记之间的变量可以被正常解析，但是函数则不可以。变量不需要用连接符.或,来拼接)
	// $str =<<<kadsjf
	// "hello \n world!!"
	// kadsjf;
	// echo $str;
	// $v=2;
	// $a= <<<EOF
	// "abc"$v
	// "123"
	// EOF;
	// echo $a;


// ...............................计算器
// function jisuan(){

// if($_REQUEST["select"]){
// 	$a = $_REQUEST["num1"];
// 	$b = $_REQUEST["num2"];
// 	$c = $_REQUEST["select"];
// 	switch ($c) {
// 		case '+':
// 		    $res = $a+$b;
// 			break;
// 		case '-':
// 			$res = $a-$b;
// 			break;
// 		case '*':
// 			$res = $a*$b;
// 			break;
// 		case '/':
// 			$res = $a/$b;
// 			break;
// 		default:
			
// 			break;
// 	  }
	
//    }
//    return $res;
// }

// var_dump($_REQUEST["num2"])
// var_dump(jisuan());

// ..............................元字符
// $a ="霜期薯戈辱骂xuebingsi开本葳，霜期薯戈辱骂xuebingsi开本";
// $preg ="/(xuebing)si/";
// $c =preg_replace($preg, '\1hello world' , $a);
// echo $c;


// \d 匹配任意一个数字 [0-9]
// \D	除了数字以外的任何一个字符匹配 [^0-9]
// \w	任意一个英文字母,数字戒下划线匹配	[a-zA-Z_]
// \W	除了字母,数字戒下划线外不任何字符匹配	[^a-zA-Z_]
// \s	任意一个空白字符匹配	[\n\f\r\t\v]
// \S	除了空白符外任意一个字符匹配	[^\n\f\r\t\v]
// $a ="gae";
// $preg ="/\Ba\B/";
// echo preg_match($preg, $a);



// ***********************正则匹配

// $str ="1.jpg@2.jpg@3.jpg#4.jpg";
// $preg ="/[a]/";
// echo(preg_match($preg, $str)) ;

// $email = "987044391@qq.com";
// if (preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/",$email)){
// 	echo '匹配成功<hr />';
// }else {
// 	echo '匹配失败<hr />';
// }
 
 // ...................磁盘空间大小
// $total =disk_total_space("c:");
// $free =disk_free_space("c:");
// // echo $free;
// // echo "<br>";
// // echo $total;

// $unit=$free>pow(1024,3)?array(3,"G"):($free>pow(1024,2)?array(2,"
// MB"):array(1,"KB"));

// echo round($free/pow(1024,$unit[0]),9).$unit[1];

// ...............................目录操作
// basename() 函数返回路径中的文件名部分
// $path ="/2016php/biji.php";
// echo basename($path);
// echo basename($path,'.php');
// file_exists() 函数检查文件或目录是否存在
// echo file_exists('biji.php');
// 判断给定文件名是否是一个目彔
// echo is_dir($path);
// mkdir() 函数创建目录
// mkdir("temp/cache",777,true);
// 重命名一个文件或目彔
// rename("./4.08/temp2", "./4.08/temp");
// copy("biji.php", "./4.08/temp2/1.php");
// unlink("./4.08/temp2/copy.php");

// glob() 函数返回匹配指定模式的文件名或目录。该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false
// 删除任意目录(rmdir() 函数删除空的目录;unlink() 函数删除文件)
// $dirname ="temp";
// function del($dirname){

// 	if (!is_dir($dirname)) {
// 		return false;
// 	} else{		
// 			foreach (glob($dirname."/*") as  $value) {
// 				if (is_dir($value)) {
// 					del($value);
// 				}else{
// 					unlink($value);
// 					} 
// 			}
// 		}	
// 	return rmdir($dirname);
// }
// del("./4.08");

// 创建目录移动函数
// function cut($path1, $path2)
// {
// 	$preg = "/\/$/";
// 	$newPath1 = preg_replace($preg, '', $path1);
// 	$newPath2 = preg_replace($preg, '', $path2);

// 	if(!file_exists($newPath2)){
// 		mkdir($newPath2,777,true);
// 	}

// 	if(is_dir($newPath1)){
// 		$files = glob($newPath1."/*");
// 		foreach ($files as $value) {
// 			var_dump($value);
// 			$url = str_replace($path1, $path2, $value);
// 			if(is_dir($value)){
// 				cut($value, $url);
// 			}else{
// 				copy($value,$url);
// 			}
// 		}
// 	}
// }
// cut('./abc/','./4.08/');

// PHP中的$this用法 :this是指向当前对象的指针


// class human{
	
// 	public $name="李四";
	
// 	public function eat(){
	
// 	  echo $this->name,'在吃饭';
// 	}
	
// 	public function test(){
	
// 	  echo $name,'在吃饭';
// 	}
	
// }

// $li=new human();
// echo $li->name;//李四
// $li->eat();//李四在吃饭。

// 方法体内想访问调用者的属性,必须用$this
// 如果不加,则理解为方法内部的一个局部变量










 ?>
<!-- get和post两种提交 (var_dump($_REQUEST["password"]);) -->
<!--  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html lang="en">
 <head>
 	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 	<title>Document</title>

 </head>
 <body> -->
 	<!-- <form action="" method="get" >
 		用户：<input type="text" name="username">
 		密码：<input type="password" name="password"> 
 		<input type="submit" value="提交">
 		<input type="reset" value="重置">
 	</form> -->

 <!-- 	<form action="" method="get" >
 		<input type="text" name="num1">
 		<select name="select" id="">
 			<option value="+">+</option>
 			<option value="-">-</option>
 			<option value="*">*</option>
 			<option value="/">/</option>
 		</select>
 		<input type="text" name="num2"> 
 		<input type="submit" value="提交" name="jissuan">
 		<input type="reset" value="重置">
 	</form>
 </body>
 </html> -->